package com.sisgesbyte.web.managedBean.paginaweb;

import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import com.sisgesbyte.dao.beanDao.FiltrosSQLBean;
import com.sisgesbyte.services.administracion.MantenimientoCategoriaProd;
import com.sisgesbyte.services.administracion.bean.CategoriaProdBean;
import com.sisgesbyte.services.administracion.bean.CategoriaProdListaResponse;

@ManagedBean
@ViewScoped
public class ServiceCategoriasMBean implements Serializable {

	private static final long serialVersionUID = 1L;

	@EJB
	private MantenimientoCategoriaProd mantenimientoCategoriaProd;
	private FiltrosSQLBean cadenaFiltros;
	private List<CategoriaProdBean> listaCategoria;
	
	@PostConstruct
	private void init() {
		inicializar();
	}
	
	public FiltrosSQLBean getCadenaFiltros() {
		return cadenaFiltros;
	}

	public void setCadenaFiltros(FiltrosSQLBean cadenaFiltros) {
		this.cadenaFiltros = cadenaFiltros;
	}

	public List<CategoriaProdBean> getListaCategoria() {
		return listaCategoria;
	}

	public void setListaCategoria(List<CategoriaProdBean> listaCategoria) {
		this.listaCategoria = listaCategoria;
	}

	public void inicializar() {
		try {
			CategoriaProdListaResponse response = mantenimientoCategoriaProd
					.listaCategoriasProducto("123456",
							cadenaFiltros);
			if (Integer.valueOf(response.getCodigoRespuesta()) > -1) {
				listaCategoria = response.getListaCategoriaProductos();
			} else {
				System.out.println("No se encontro Data "
						+ response.getMensajeRespuesta());
			}
		} catch (Exception e) {
			System.out.println("Ocurrio un error al cargar Lista " + e);
		}
	}


	public void crearFiltro() {
		FiltrosSQLBean filtroSQL = new FiltrosSQLBean();
		try {
			filtroSQL.setCampoOrden("cp.nombre");
			filtroSQL.setTipoOrden("desc");
			setCadenaFiltros(filtroSQL);
			inicializar();
		} catch (Exception e) {
			System.out.println("Error al crear filtro " + e);
			filtroSQL.setCampoOrden("cp.nombre");
			filtroSQL.setTipoOrden("desc");
		}
	}

}
